Computer system that use what is known as a Graphical User Interface (GUI) first introduced by Apple and later adopted by IBM with OS/2 and Presentation Manager, and by Microsoft with its Windows program are a fairly recent addition to the state of the art. One common feature of these GUI systems is that a multitude of windows or viewports can be present simultaneously on the computer display screen.
Different application programs can be running (or waiting for input from the user) concurrently in each of the windows displayed on the computer display screen. In addition, a single application program can generate many different windows, thereby performing many different tasks.
While these GUI systems offer many advantage over more conventional operating systems such as DOS (which can only run and display one application program at a time), this additional function has created new problems for the user.
Typically a program interface provides users with feedback, for example, about what a program is doing, or if a problem occurred; this is a basic principle of usability. In particular, GUI systems allow programmers to use very intuitive and immediate techniques to inform users about the status of processing.
Nowadays in GUI systems, most interfaces display message boxes to provide such feedback.
However this solution involves in some problems. Usually the new displayed message box is presented on the top of previous displayed windows and becomes the active one. Consequently data of a previously displayed dialog window are often hidden by such a message box preventing a complete understanding of the reason of the message.
In addition the new box often prevents users from continuing their work with the interface. They must close the message box in order to go ahead. Then, if the user requires more feedback, a new message box is displayed. This is very annoying while an immediate complete feedback in real time and synchronised with user actions would be more helpful.
Moreover a message box is a static feedback, i.e. it is a frozen spot of a specific occurrence. There are cases where it could be necessary to receive continuously changing feedback. A known solution is the use of a "Progress Indicator" which avoids this problem by providing immediate, dynamic feedback of a time-consuming activity on the display screen. However, such a box is designed and used for very specific and limited activities, wherein there is less need of interaction with the contents of other windows and consequently the previously described disadvantages, which are in any case not solved, are less cumbersome. For example during an installation a Progress Indicator can be used for listing the files currently copied from the installation diskettes into the hard disk attached to the data processing system. Typically, a process which uses a Progress Indicator (e.g. an installation) does not require any interaction with the user for long time, leaving him free to perform other activities in different windows. This often causes the Progress Indicator to be partially or completely hidden. Then, when another feedback is sent by the process using the Progress Indicator, the Progress Indicator itself or another message box is immediately displayed to show the feedback as top window on the display screen, causing the disadvantages already described.